// 从本地存储获取初始列表数据
const storedListData = localStorage.getItem('list-data')
const initialListData = storedListData ? JSON.parse(storedListData) : []

const useListDataStore = defineStore(
  'listData',
  {
    state: () => ({
      // 存储列表数据，初始化为空数组
      listData: initialListData
    }),
    actions: {
      // 设置完整的列表数据
      setListData(data) {
        this.listData = data
        // 同步到本地存储
        localStorage.setItem('list-data', JSON.stringify(data))
      },
      
      // 向列表添加单个项目
      addListItem(item) {
        this.listData.push(item)
        // 同步到本地存储
        localStorage.setItem('list-data', JSON.stringify(this.listData))
      },
      
      // 从列表移除指定项目
      removeListItem(index) {
        if (index >= 0 && index < this.listData.length) {
          this.listData.splice(index, 1)
          // 同步到本地存储
          localStorage.setItem('list-data', JSON.stringify(this.listData))
        }
      },
      
      // 清空列表数据
      clearListData() {
        this.listData = []
        // 从本地存储移除
        localStorage.removeItem('list-data')
      }
    },
    getters: {
      // 获取列表长度
      listLength: (state) => state.listData.length,
      
      // 检查列表是否为空
      isListEmpty: (state) => state.listData.length === 0
    }
  }
)

export default useListDataStore
    